const webgl_replace = {
	ACTIVE_ATTRIBUTES: 35721,
	ACTIVE_ATTRIBUTE_MAX_LENGTH: 35722,
	ACTIVE_TEXTURE: 34016,
	ACTIVE_UNIFORMS: 35718,
	ACTIVE_UNIFORM_MAX_LENGTH: 35719,
	ALIASED_LINE_WIDTH_RANGE: 33902,
	ALIASED_POINT_SIZE_RANGE: 33901,
	ALPHA: 6406,
	ALPHA_BITS: 3413,
	ALWAYS: 519,
	ARRAY_BUFFER: 34962,
	ARRAY_BUFFER_BINDING: 34964,
	ATTACHED_SHADERS: 35717,
	BACK: 1029,
	BLEND: 3042,
	BLEND_COLOR: 32773,
	BLEND_DST_ALPHA: 32970,
	BLEND_DST_RGB: 32968,
	BLEND_EQUATION: 32777,
	BLEND_EQUATION_ALPHA: 34877,
	BLEND_EQUATION_RGB: 32777,
	BLEND_SRC_ALPHA: 32971,
	BLEND_SRC_RGB: 32969,
	BLUE_BITS: 3412,
	BOOL: 35670,
	BOOL_VEC2: 35671,
	BOOL_VEC3: 35672,
	BOOL_VEC4: 35673,
	BROWSER_DEFAULT_WEBGL: 37444,
	BUFFER_SIZE: 34660,
	BUFFER_USAGE: 34661,
	BYTE: 5120,
	CCW: 2305,
	CLAMP_TO_EDGE: 33071,
	COLOR_ATTACHMENT0: 36064,
	COLOR_BUFFER_BIT: 16384,
	COLOR_CLEAR_VALUE: 3106,
	COLOR_WRITEMASK: 3107,
	COMPILE_STATUS: 35713,
	COMPRESSED_TEXTURE_FORMATS: 34467,
	CONSTANT_ALPHA: 32771,
	CONSTANT_COLOR: 32769,
	CONTEXT_LOST_WEBGL: 37442,
	CULL_FACE: 2884,
	CULL_FACE_MODE: 2885,
	CURRENT_PROGRAM: 35725,
	CURRENT_VERTEX_ATTRIB: 34342,
	CW: 2304,
	DECR: 7683,
	DECR_WRAP: 34056,
	DELETE_STATUS: 35712,
	DEPTH_ATTACHMENT: 36096,
	DEPTH_BITS: 3414,
	DEPTH_BUFFER_BIT: 256,
	DEPTH_CLEAR_VALUE: 2931,
	DEPTH_COMPONENT: 6402,
	DEPTH_COMPONENT16: 33189,
	DEPTH_FUNC: 2932,
	DEPTH_RANGE: 2928,
	DEPTH_STENCIL: 34041,
	DEPTH_STENCIL_ATTACHMENT: 33306,
	DEPTH_TEST: 2929,
	DEPTH_WRITEMASK: 2930,
	DITHER: 3024,
	DONT_CARE: 4352,
	DST_ALPHA: 772,
	DST_COLOR: 774,
	DYNAMIC_DRAW: 35048,
	ELEMENT_ARRAY_BUFFER: 34963,
	ELEMENT_ARRAY_BUFFER_BINDING: 34965,
	EQUAL: 514,
	FASTEST: 4353,
	FLOAT: 5126,
	FLOAT_MAT2: 35674,
	FLOAT_MAT3: 35675,
	FLOAT_MAT4: 35676,
	FLOAT_VEC2: 35664,
	FLOAT_VEC3: 35665,
	FLOAT_VEC4: 35666,
	FRAGMENT_SHADER: 35632,
	FRAMEBUFFER: 36160,
	FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: 36049,
	FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: 36048,
	FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: 36051,
	FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: 36050,
	FRAMEBUFFER_BINDING: 36006,
	FRAMEBUFFER_COMPLETE: 36053,
	FRAMEBUFFER_INCOMPLETE_ATTACHMENT: 36054,
	FRAMEBUFFER_INCOMPLETE_DIMENSIONS: 36057,
	FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: 36055,
	FRAMEBUFFER_UNSUPPORTED: 36061,
	FRONT: 1028,
	FRONT_AND_BACK: 1032,
	FRONT_FACE: 2886,
	FUNC_ADD: 32774,
	FUNC_REVERSE_SUBTRACT: 32779,
	FUNC_SUBTRACT: 32778,
	GENERATE_MIPMAP_HINT: 33170,
	GEQUAL: 518,
	GREATER: 516,
	GREEN_BITS: 3411,
	HIGH_FLOAT: 36338,
	HIGH_INT: 36341,
	INCR: 7682,
	INCR_WRAP: 34055,
	INFO_LOG_LENGTH: 35716,
	INT: 5124,
	INT_VEC2: 35667,
	INT_VEC3: 35668,
	INT_VEC4: 35669,
	INVALID_ENUM: 1280,
	INVALID_FRAMEBUFFER_OPERATION: 1286,
	INVALID_OPERATION: 1282,
	INVALID_VALUE: 1281,
	INVERT: 5386,
	KEEP: 7680,
	LEQUAL: 515,
	LESS: 513,
	LINEAR: 9729,
	LINEAR_MIPMAP_LINEAR: 9987,
	LINEAR_MIPMAP_NEAREST: 9985,
	LINES: 1,
	LINE_LOOP: 2,
	LINE_STRIP: 3,
	LINE_WIDTH: 2849,
	LINK_STATUS: 35714,
	LOW_FLOAT: 36336,
	LOW_INT: 36339,
	LUMINANCE: 6409,
	LUMINANCE_ALPHA: 6410,
	MAX_COMBINED_TEXTURE_IMAGE_UNITS: 35661,
	MAX_CUBE_MAP_TEXTURE_SIZE: 34076,
	MAX_FRAGMENT_UNIFORM_VECTORS: 36349,
	MAX_RENDERBUFFER_SIZE: 34024,
	MAX_TEXTURE_IMAGE_UNITS: 34930,
	MAX_TEXTURE_SIZE: 3379,
	MAX_VARYING_VECTORS: 36348,
	MAX_VERTEX_ATTRIBS: 34921,
	MAX_VERTEX_TEXTURE_IMAGE_UNITS: 35660,
	MAX_VERTEX_UNIFORM_VECTORS: 36347,
	MAX_VIEWPORT_DIMS: 3386,
	MEDIUM_FLOAT: 36337,
	MEDIUM_INT: 36340,
	MIRRORED_REPEAT: 33648,
	NEAREST: 9728,
	NEAREST_MIPMAP_LINEAR: 9986,
	NEAREST_MIPMAP_NEAREST: 9984,
	NEVER: 512,
	NICEST: 4354,
	NONE: 0,
	NOTEQUAL: 517,
	NO_ERROR: 0,
	NUM_COMPRESSED_TEXTURE_FORMATS: 34466,
	ONE: 1,
	ONE_MINUS_CONSTANT_ALPHA: 32772,
	ONE_MINUS_CONSTANT_COLOR: 32770,
	ONE_MINUS_DST_ALPHA: 773,
	ONE_MINUS_DST_COLOR: 775,
	ONE_MINUS_SRC_ALPHA: 771,
	ONE_MINUS_SRC_COLOR: 769,
	OUT_OF_MEMORY: 1285,
	PACK_ALIGNMENT: 3333,
	POINTS: 0,
	POLYGON_OFFSET_FACTOR: 32824,
	POLYGON_OFFSET_FILL: 32823,
	POLYGON_OFFSET_UNITS: 10752,
	RED_BITS: 3410,
	RENDERBUFFER: 36161,
	RENDERBUFFER_ALPHA_SIZE: 36179,
	RENDERBUFFER_BINDING: 36007,
	RENDERBUFFER_BLUE_SIZE: 36178,
	RENDERBUFFER_DEPTH_SIZE: 36180,
	RENDERBUFFER_GREEN_SIZE: 36177,
	RENDERBUFFER_HEIGHT: 36163,
	RENDERBUFFER_INTERNAL_FORMAT: 36164,
	RENDERBUFFER_RED_SIZE: 36176,
	RENDERBUFFER_STENCIL_SIZE: 36181,
	RENDERBUFFER_WIDTH: 36162,
	RENDERER: 7937,
	REPEAT: 10497,
	REPLACE: 7681,
	RGB: 6407,
	RGB5_A1: 32855,
	RGB565: 36194,
	RGBA: 6408,
	RGBA4: 32854,
	SAMPLER_2D: 35678,
	SAMPLER_CUBE: 35680,
	SAMPLES: 32937,
	SAMPLE_ALPHA_TO_COVERAGE: 32926,
	SAMPLE_BUFFERS: 32936,
	SAMPLE_COVERAGE: 32928,
	SAMPLE_COVERAGE_INVERT: 32939,
	SAMPLE_COVERAGE_VALUE: 32938,
	SCISSOR_BOX: 3088,
	SCISSOR_TEST: 3089,
	SHADER_COMPILER: 36346,
	SHADER_SOURCE_LENGTH: 35720,
	SHADER_TYPE: 35663,
	SHADING_LANGUAGE_VERSION: 35724,
	SHORT: 5122,
	SRC_ALPHA: 770,
	SRC_ALPHA_SATURATE: 776,
	SRC_COLOR: 768,
	STATIC_DRAW: 35044,
	STENCIL_ATTACHMENT: 36128,
	STENCIL_BACK_FAIL: 34817,
	STENCIL_BACK_FUNC: 34816,
	STENCIL_BACK_PASS_DEPTH_FAIL: 34818,
	STENCIL_BACK_PASS_DEPTH_PASS: 34819,
	STENCIL_BACK_REF: 36003,
	STENCIL_BACK_VALUE_MASK: 36004,
	STENCIL_BACK_WRITEMASK: 36005,
	STENCIL_BITS: 3415,
	STENCIL_BUFFER_BIT: 1024,
	STENCIL_CLEAR_VALUE: 2961,
	STENCIL_FAIL: 2964,
	STENCIL_FUNC: 2962,
	STENCIL_INDEX: 6401,
	STENCIL_INDEX8: 36168,
	STENCIL_PASS_DEPTH_FAIL: 2965,
	STENCIL_PASS_DEPTH_PASS: 2966,
	STENCIL_REF: 2967,
	STENCIL_TEST: 2960,
	STENCIL_VALUE_MASK: 2963,
	STENCIL_WRITEMASK: 2968,
	STREAM_DRAW: 35040,
	SUBPIXEL_BITS: 3408,
	TEXTURE: 5890,
	TEXTURE0: 33984,
	TEXTURE1: 33985,
	TEXTURE2: 33986,
	TEXTURE3: 33987,
	TEXTURE4: 33988,
	TEXTURE5: 33989,
	TEXTURE6: 33990,
	TEXTURE7: 33991,
	TEXTURE8: 33992,
	TEXTURE9: 33993,
	TEXTURE10: 33994,
	TEXTURE11: 33995,
	TEXTURE12: 33996,
	TEXTURE13: 33997,
	TEXTURE14: 33998,
	TEXTURE15: 33999,
	TEXTURE16: 34000,
	TEXTURE17: 34001,
	TEXTURE18: 34002,
	TEXTURE19: 34003,
	TEXTURE20: 34004,
	TEXTURE21: 34005,
	TEXTURE22: 34006,
	TEXTURE23: 34007,
	TEXTURE24: 34008,
	TEXTURE25: 34009,
	TEXTURE26: 34010,
	TEXTURE27: 34011,
	TEXTURE28: 34012,
	TEXTURE29: 34013,
	TEXTURE30: 34014,
	TEXTURE31: 34015,
	TEXTURE_2D: 3553,
	TEXTURE_BINDING_2D: 32873,
	TEXTURE_BINDING_CUBE_MAP: 34068,
	TEXTURE_CUBE_MAP: 34067,
	TEXTURE_CUBE_MAP_NEGATIVE_X: 34070,
	TEXTURE_CUBE_MAP_NEGATIVE_Y: 34072,
	TEXTURE_CUBE_MAP_NEGATIVE_Z: 34074,
	TEXTURE_CUBE_MAP_POSITIVE_X: 34069,
	TEXTURE_CUBE_MAP_POSITIVE_Y: 34071,
	TEXTURE_CUBE_MAP_POSITIVE_Z: 34073,
	TEXTURE_MAG_FILTER: 10240,
	TEXTURE_MIN_FILTER: 10241,
	TEXTURE_WRAP_S: 10242,
	TEXTURE_WRAP_T: 10243,
	TRIANGLES: 4,
	TRIANGLE_FAN: 6,
	TRIANGLE_STRIP: 5,
	UNPACK_ALIGNMENT: 3317,
	UNPACK_COLORSPACE_CONVERSION_WEBGL: 37443,
	UNPACK_FLIP_Y_WEBGL: 37440,
	UNPACK_PREMULTIPLY_ALPHA_WEBGL: 37441,
	UNSIGNED_BYTE: 5121,
	UNSIGNED_INT: 5125,
	UNSIGNED_SHORT: 5123,
	UNSIGNED_SHORT_4_4_4_4: 32819,
	UNSIGNED_SHORT_5_5_5_1: 32820,
	UNSIGNED_SHORT_5_6_5: 33635,
	VALIDATE_STATUS: 35715,
	VENDOR: 7936,
	VERSION: 7938,
	VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: 34975,
	VERTEX_ATTRIB_ARRAY_ENABLED: 34338,
	VERTEX_ATTRIB_ARRAY_NORMALIZED: 34922,
	VERTEX_ATTRIB_ARRAY_POINTER: 34373,
	VERTEX_ATTRIB_ARRAY_SIZE: 34339,
	VERTEX_ATTRIB_ARRAY_STRIDE: 34340,
	VERTEX_ATTRIB_ARRAY_TYPE: 34341,
	VERTEX_SHADER: 35633,
	VIEWPORT: 2978,
	ZERO: 0,
	
	activeTexture: "gl.acT",
	attachShader: "gl.atS",
	bindAttribLocation: "gl.biAL",
	bindBuffer: "gl.biB",
	bindFramebuffer: "gl.biF",
	bindRenderbuffer: "gl.biR",
	bindTexture: "gl.biT",
	blendColor: "gl.blC",
	blendEquation: "gl.blE",
	blendEquationSeparate: "gl.blES",
	blendFunc: "gl.blF",
	blendFuncSeparate: "gl.blFS",
	bufferData: "gl.buD",
	bufferSubData: "gl.buSD",
	checkFramebufferStatus: "gl.chFS",
	clear: "gl.cl",
	clearColor: "gl.clC",
	clearDepth: "gl.clD",
	clearStencil: "gl.clS",
	colorMask: "gl.coM",
	compileShader: "gl.coS",
	compressedTexImage2D: "gl.coTI2D",
	compressedTexSubImage2D: "gl.coTSI2D",
	copyTexImage2D: "gl.coTI2D",
	copyTexSubImage2D: "gl.coTSI2D",
	createBuffer: "gl.crB",
	createFramebuffer: "gl.crF",
	createProgram: "gl.crP",
	createRenderbuffer: "gl.crR",
	createShader: "gl.crS",
	createTexture: "gl.crT",
	cullFace: "gl.cuF",
	deleteBuffer: "gl.deB",
	deleteFramebuffer: "gl.deF",
	deleteProgram: "gl.deP",
	deleteRenderbuffer: "gl.deR",
	deleteShader: "gl.deS",
	deleteTexture: "gl.deT",
	depthFunc: "gl.deF",
	depthMask: "gl.deM",
	depthRange: "gl.deR",
	detachShader: "gl.deS",
	disable: "gl.di",
	disableVertexAttribArray: "gl.diVAA",
	drawArrays: "gl.drA",
	drawElements: "gl.drE",
	enable: "gl.en",
	enableVertexAttribArray: "gl.enVAA",
	finish: "gl.fi",
	flush: "gl.fl",
	framebufferRenderbuffer: "gl.frR",
	framebufferTexture2D: "gl.frT2D",
	frontFace: "gl.frF",
	generateMipmap: "gl.geM",
	getActiveAttrib: "gl.geAA",
	getActiveUniform: "gl.geAU",
	getAttachedShaders: "gl.geAS",
	getAttribLocation: "gl.geAL",
	getBufferParameter: "gl.geBP",
	getContextAttributes: "gl.geCA",
	getError: "gl.geE",
	getExtension: "gl.geE",
	getFramebufferAttachmentParameter: "gl.geFAP",
	getParameter: "gl.geP",
	getProgramParameter: "gl.gePP",
	getProgramInfoLog: "gl.gePIL",
	getRenderbufferParameter: "gl.geRP",
	getShaderParameter: "gl.geSP",
	getShaderInfoLog: "gl.geSIL",
	getShaderPrecisionFormat: "gl.geSPF",
	getShaderSource: "gl.geSS",
	getSupportedExtensions: "gl.geSE",
	getTexParameter: "gl.geTP",
	getUniform: "gl.geU",
	getUniformLocation: "gl.geUL",
	getVertexAttrib: "gl.geVA",
	getVertexAttribOffset: "gl.geVAO",
	hint: "gl.hi",
	isBuffer: "gl.isB",
	isContextLost: "gl.isCL",
	isEnabled: "gl.isE",
	isFramebuffer: "gl.isF",
	isProgram: "gl.isP",
	isRenderbuffer: "gl.isR",
	isShader: "gl.isS",
	isTexture: "gl.isT",
	lineWidth: "gl.liW",
	linkProgram: "gl.liP",
	pixelStorei: "gl.piS",
	polygonOffset: "gl.poO",
	readPixels: "gl.reP",
	renderbufferStorage: "gl.reS",
	sampleCoverage: "gl.saC",
	scissor: "gl.sc",
	shaderSource: "gl.shS",
	stencilFunc: "gl.stF",
	stencilFuncSeparate: "gl.stFS",
	stencilMask: "gl.stM",
	stencilMaskSeparate: "gl.stMS",
	stencilOp: "gl.stO",
	stencilOpSeparate: "gl.stOS",
	texParameterf: "gl.teP",
	texParameteri: "gl.teP",
	texImage2D: "gl.teI2D",
	texSubImage2D: "gl.teSI2D",
	uniform1f: "gl.un1f",
	uniform1fv: "gl.un1fv",
	uniform1i: "gl.un1i",
	uniform1iv: "gl.un1iv",
	uniform2f: "gl.un2f",
	uniform2fv: "gl.un2fv",
	uniform2i: "gl.un2i",
	uniform2iv: "gl.un2iv",
	uniform3f: "gl.un3f",
	uniform3fv: "gl.un3fv",
	uniform3i: "gl.un3i",
	uniform3iv: "gl.un3iv",
	uniform4f: "gl.un4f",
	uniform4fv: "gl.un4fv",
	uniform4i: "gl.un4i",
	uniform4iv: "gl.un4iv",
	uniformMatrix2fv: "gl.unM2fv",
	uniformMatrix3fv: "gl.unM3fv",
	uniformMatrix4fv: "gl.unM4fv",
	useProgram: "gl.usP",
	validateProgram: "gl.vaP",
	vertexAttrib1f: "gl.veA1f",
	vertexAttrib1fv: "gl.veA1fv",
	vertexAttrib2f: "gl.veA2f",
	vertexAttrib2fv: "gl.veA2fv",
	vertexAttrib3f: "gl.veA3f",
	vertexAttrib3fv: "gl.veA3fv",
	vertexAttrib4f: "gl.veA4f",
	vertexAttrib4fv: "gl.veA4fv",
	vertexAttribPointer: "gl.veAP",
	viewport: "gl.vi"
};

const sonantxr_replace = {
	rowLen: '_rl',
	endPattern: '_ep',
	songData: '_sd',
	osc1_oct: '_1o',
	osc1_det: '_1d',
	osc1_detune: '_1t',
	osc1_xenv: '_1x',
	osc1_vol: '_1v',
	osc1_waveform: '_1w',
	osc2_oct: '_2o',
	osc2_det: '_2d',
	osc2_detune: '_2t',
	osc2_xenv: '_2x',
	osc2_vol: '_2v',
	osc2_waveform: '_2w',
	noise_fader: '_nf',
	env_attack: '_ea',
	env_sustain: '_es',
	env_release: '_er',
	env_master: '_em',
	fx_filter: '_ff',
	fx_freq: '_fq',
	fx_resonance: '_fr',
	fx_delay_time: '_ft',
	fx_delay_amt: '_fa',
	fx_pan_freq: '_fp',
	fx_pan_amt: '_fm',
	lfo_osc1_freq: '_lf',
	lfo_fx_freq: '_lx',
	lfo_freq: '_lq',
	lfo_amt: '_la',
	lfo_waveform: '_lw'
};

const fs = require('fs');

fs.readFile(process.argv[2], 'utf8', (err, data) => {
	for (var name in webgl_replace) {
		var d = webgl_replace[name];
		data = data.replace(new RegExp('\\bgl\\.'+name+'\\b', 'g'), d);
	}
	for (var name in sonantxr_replace) {
		var d = sonantxr_replace[name];
		data = data.replace(new RegExp('\\b'+name+'\\b', 'g'), d);
	}
	console.log(data);
	process.exit(0);
});